import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd())

  console.log(env)

  // 将环境变量传递给 process.env
  process.env.VITE_ADAPT_MODE = env.VITE_ADAPT_MODE

  return {
    base: '/bigscreen',
    plugins: [vue(), vueJsx(), vueDevTools()],
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url))
      }
    },
    server: {
      host: '0.0.0.0',
      proxy: {
        // API 代理
        [env.VITE_API_BASE_URL]: {
          target: 'http://47.99.114.111:8881',
          // target: 'http://192.168.1.199:8881',
          changeOrigin: true,
          rewrite: (path) => {
            return path.replace(env.VITE_API_BASE_URL, '')
          }
        }
        // WebSocket 代理
        // '/admin/websocket/bigScreen': {
        //   // target: 'ws://47.99.114.199:8881',
        //   // target: 'ws://192.168.1.199:8881',
        //   // target: 'ws://192.168.1.199:8881/admin/websocket/bigScreen',
        //   target: env.VITE_WS_URL, // 使用环境变量中的 WebSocket 地址
        //   ws: true, // 启用 websocket 代理
        //   changeOrigin: true
        //   // rewrite: (path) => path.replace(/\/wsUrl/, '')
        // }
      }
    }
  }
})
